home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / pc / PNC-ATL1.ZIP / SYSOP / SYSOP.PPE (.txt) < prev    next >
Encoding:
PCBoard Programming Language Executable  |  1996-09-10  |  3.5 KB  |  200 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 3.1O (Encryption type I) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Integer  INTEGER001
  20.     Integer  INTEGER002
  21.     Integer  INTEGER003
  22.     Integer  INTEGER004
  23.     Integer  INTEGER005
  24.     Integer  INTEGER006
  25.     String   STRING001
  26.     String   TSTRING002(14)
  27.     String   TSTRING003(2)
  28.     String   STRING004
  29.     Declare  Function FUNCTION001() String
  30.     Declare  Procedure PROC001(Integer INTEGER007)
  31.     Declare  Procedure PROC002(Integer INTEGER008, Integer INTEGER009)
  32.  
  33. ;------------------------------------------------------------------------------
  34.  
  35.     INTEGER003 = 1
  36.     :LABEL001
  37.     StartDisp 1
  38.     INTEGER001 = 14
  39.     TSTRING003(1) = "@X07"
  40.     TSTRING003(2) = "@X4F"
  41.     TSTRING002(1) = " View the callers logfile                           "
  42.     TSTRING002(2) = " View User Activity                                 "
  43.     TSTRING002(3) = " Pack The Message Base                              "
  44.     TSTRING002(4) = " Re-Activate A Killed Message                       "
  45.     TSTRING002(5) = " Quick Message Scan                                 "
  46.     TSTRING002(6) = " View A File From The HDD (Any File)                "
  47.     TSTRING002(7) = " User Editor                                        "
  48.     TSTRING002(8) = " Pack The Users File                                "
  49.     TSTRING002(9) = " Exit To Dos From Remote (DOORWAY)                  "
  50.     TSTRING002(10) = " Preform A Dos Function (DOES NOT EXIT TO DOS)     "
  51.     TSTRING002(11) = " View Who Is OnLine                                "
  52.     TSTRING002(12) = " Auto Logoff Node #                                "
  53.     TSTRING002(13) = " View Logfile of Node #                            "
  54.     TSTRING002(14) = " Drop Node # to DOS                                "
  55.     INTEGER005 = 14
  56.     INTEGER006 = 5
  57.     INTEGER004 = INTEGER003
  58.     Print "@X07@CLS@"
  59.     DispFile PPEPath() + "SYSOP.PCB", 0
  60.     PROC001(INTEGER001)
  61.     PROC002(INTEGER003, INTEGER004)
  62.     :LABEL002
  63.     STRING001 = FUNCTION001()
  64.     If (((Upper(STRING001) == "UP") || (Upper(STRING001) == "A")) || (Upper(STRING001) == "LEFT")) Then
  65.         INTEGER004 = INTEGER003
  66.         If (INTEGER003 == 1) Then
  67.             INTEGER003 = INTEGER001
  68.         Else
  69.             INTEGER003 = INTEGER003 - 1
  70.         Endif
  71.         PROC002(INTEGER003, INTEGER004)
  72.     ElseIf (((Upper(STRING001) == "DOWN") || (Upper(STRING001) == "Z")) || (Upper(STRING001) == "RIGHT")) Then
  73.         INTEGER004 = INTEGER003
  74.         If (INTEGER003 == INTEGER001) Then
  75.             INTEGER003 = 1
  76.         Else
  77.             INTEGER003 = INTEGER003 + 1
  78.         Endif
  79.         PROC002(INTEGER003, INTEGER004)
  80.     Else
  81.         Select Case (Upper(STRING001))
  82.             Case Chr(27)
  83.                 Print "@X07@CLS@"
  84.                 Newline
  85.                 End
  86.             Case Chr(13)
  87.                 Print "@X07@CLS@"
  88.                 Command 1, String(INTEGER003)
  89.                 Newline
  90.                 Wait
  91.                 Goto LABEL001
  92.             Case "HOME"
  93.                 INTEGER004 = INTEGER003
  94.                 INTEGER003 = 1
  95.                 PROC002(INTEGER003, INTEGER004)
  96.             Case "END"
  97.                 INTEGER004 = INTEGER003
  98.                 INTEGER003 = INTEGER001
  99.                 PROC002(INTEGER003, INTEGER004)
  100.             Endif
  101.     End Select
  102.     Goto LABEL002
  103.     End
  104.  
  105. ;------------------------------------------------------------------------------
  106.  
  107.     Function FUNCTION001() String
  108.  
  109.     Integer  INTEGER007
  110.  
  111.     STRING001 = ""
  112.     While (STRING001 == "") Do
  113.         STRING001 = Inkey()
  114.         If (STRING001 == "BADKEY") STRING001 = ""
  115.     EndWhile
  116.     FUNCTION001 = STRING001
  117.  
  118.     EndFunc
  119.  
  120.  
  121. ;------------------------------------------------------------------------------
  122.  
  123.     Procedure PROC001(Integer INTEGER007)
  124.  
  125.     For INTEGER002 = 1 To INTEGER007
  126.         AnsiPos INTEGER005, INTEGER006 + INTEGER002 - 1
  127.         Print TSTRING003(1) + TSTRING002(INTEGER002)
  128.     Next
  129.  
  130.     EndProc
  131.  
  132.  
  133. ;------------------------------------------------------------------------------
  134.  
  135.     Procedure PROC002(Integer INTEGER008, Integer INTEGER009)
  136.  
  137.     AnsiPos INTEGER005, INTEGER006 + INTEGER009 - 1
  138.     Print TSTRING003(1) + TSTRING002(INTEGER009)
  139.     AnsiPos INTEGER005, INTEGER006 + INTEGER008 - 1
  140.     Print TSTRING003(2) + TSTRING002(INTEGER008)
  141.     AnsiPos INTEGER005, INTEGER006 + INTEGER008 - 1
  142.  
  143.     EndProc
  144.  
  145.  
  146. ;------------------------------------------------------------------------------
  147. ;
  148. ; Usage report (before postprocessing)
  149. ;
  150. ; ■ Statements used :
  151. ;
  152. ;    2       End
  153. ;    1       Wait
  154. ;    22      Goto 
  155. ;    38      Let 
  156. ;    6       Print 
  157. ;    11      If 
  158. ;    1       DispFile 
  159. ;    1       StartDisp 
  160. ;    2       Newline
  161. ;    4       AnsiPos 
  162. ;    2       EndProc
  163. ;    1       EndFunc
  164. ;    1       Command 
  165. ;
  166. ;
  167. ; ■ Functions used :
  168. ;
  169. ;    10      +
  170. ;    5       -
  171. ;    14      ==
  172. ;    1       <
  173. ;    1       <=
  174. ;    2       >=
  175. ;    10      !
  176. ;    2       &&
  177. ;    5       ||
  178. ;    10      Upper()
  179. ;    2       Chr()
  180. ;    1       Inkey()
  181. ;    1       String()
  182. ;    1       PPEPath()
  183. ;
  184. ;------------------------------------------------------------------------------
  185. ;
  186. ; Analysis flags : No flag
  187. ;
  188. ;------------------------------------------------------------------------------
  189. ;
  190. ; Postprocessing report
  191. ;
  192. ;    1       For/Next
  193. ;    1       While/EndWhile
  194. ;    4       If/Then or If/Then/Else
  195. ;    1       Select Case
  196. ;
  197. ;------------------------------------------------------------------------------
  198. ;                 AEGiS Corp - Break the routines, code against the machines!
  199. ;------------------------------------------------------------------------------
  200.